package config

import "github.com/spf13/viper"

type Config struct {
	// 数据库配置
	Mysql Mysql
	Redis Redis

	// 日志库设置
	Zap Zap

	// 服务注册
	Etcd Etcd
}

// InitConfig 使用viper来加载配置
func InitConfig(cfg *Config) {
	// 1.获取viper对象
	NewViper := viper.New()

	// 2.找到对应的config文件
	NewViper.SetConfigName("config")
	NewViper.SetConfigType("yaml")
	NewViper.AddConfigPath("./rpc/etc")

	// 3.读取config的内容
	err := NewViper.ReadInConfig()
	if err != nil {
		panic(err)
	}

	// 4.将config的内容绑定在cfg上
	err = NewViper.Unmarshal(&cfg)
	if err != nil {
		panic(err)
	}
}
